package artifactory

import (
	"time"
)

type TArtifactory struct {
	Id                int64     `xorm:"pk autoincr comment('自增ID') BIGINT(20)" json:"id"`
	Identifier        string    `xorm:"not null default '' comment('制品库唯一ID，用于标识制品库。 支持英文/数字/中划线/下划线（包含全角符号）') index VARCHAR(255)" json:"identifier"`
	DisplayName       string    `xorm:"not null default '' comment('制品库名称') VARCHAR(255)" json:"displayName"`
	ArtifactoryTypeId int64     `xorm:"not null comment('制品库类型，外联制品库类型表') BIGINT(20)" json:"artifactoryTypeId"`
	Public            int       `xorm:"not null default 0 comment('是否是公开制品库 (1公开|0非公开)') TINYINT(1)" json:"public"`
	Disabled          int       `xorm:"not null default 0 comment('是否归档(1归档|0正常)') TINYINT(1)" json:"disabled"`
	Official          int       `xorm:"not null default 0 comment('是否为官方制品库 (1官方|0非官方) (系统内部保留字段)') TINYINT(1)" json:"official"`
	Source            string    `xorm:"not null default 'pipeline' comment('创建来源(pipeline/api/web)') VARCHAR(32)" json:"source"`
	Description       string    `xorm:"comment('制品库描述，用于说明包的用途和信息') VARCHAR(255)" json:"description"`
	LogoImageId       int64     `xorm:"comment('制品库 Logo') BIGINT(20)" json:"logoImageId"`
	RepoId            int64     `xorm:"comment('仓库id') BIGINT(20)" json:"repoId"`
	CreateTime        time.Time `xorm:"not null comment('创建时间') DATETIME" json:"createTime"`
	UpdateTime        time.Time `xorm:"comment('更新时间') DATETIME" json:"updateTime"`
	DeleteTime        time.Time `xorm:"comment('软删除字段') DATETIME" json:"deleteTime"`
	CreatorId         int64     `xorm:"comment('创建者ID // TODO:解决转移问题') BIGINT(20)" json:"creatorId"`
	Deleted           int       `xorm:"default 0 TINYINT(1)" json:"deleted"`
}
